Сброс буфера вывода[E58]
void flush()
Эта функция имеет очень и очень отдаленное отношение к работе со строками, но она еще дальше отстоит от других функций. Именно поэтому я включил ее в данную главу. Начнем издалека: обычно при использовании echo
данные не прямо сразу отправляются клиенту, а накапливаются в специальном буфере, чтобы потом транспортироваться большой "пачкой". Так получается быстрее. Однако,
иногда бывает нужно досрочно отправить все данные из буфера пользователю, например, если вы что-то выводите в реальном времени (так зачастую работают чаты). Вот тут-то вам и поможет функция flush(), которая отправляет содержимое буфера echo
в браузер пользователя.
![Сброс буфера вывода[E58]](image/sbros-bufera-vyvoda[e58_1.gif)
Мы уже ознакомились с некоторыми базовыми функциями, которые в силу их специализации можно было бы даже назвать операторами. Среди них — функция вывода echo, функции для работы с массивами и переменными
и т. д. В этой части книги мы займемся остальными встроенными в PHP процедурами, которые чаще всего требуются в Web-программировании. Конечно, объем книги не позволяет описать абсолютно все функции, да это и невозможно, потому что такое описание тут же устареет с выходом новой версии языка. Так что, как всегда, лучшим другом программиста (может быть, правильнее сказать подругой?) обязательно должна стать документация, поставляемая вместе с дистрибутивами PHP, или ее online-версия, расположенная по адресу http://www.php.net
или http://ru.php.net. Использование документации из Интернета привлекательно еще и потому, что она фактически представляет собой один большой форум, в котором приведены различные комментарии, оставленные энтузиастами. Вы тоже можете внести свою лепту в это общее дело.
Что же, разработчики PHP не боги, и иногда даже во встроенных функциях встречаются ошибки. Если вы наткнулись на одну из таких ошибок, радуйтесь: у вас есть возможность внести вклад в общемировое дело Web-программирования! Вначале постарайтесь локализовать ошибку — напишите небольшой (как можно меньше!) сценарий, который будет работать неправильно. Далее, если у вас есть исходные тексты PHP и вы в состоянии в них разобраться (а это несколько проще, чем кажется на первый взгляд), попытайтесь найти в них то место, где происходит недоразумение. Наконец, отправьте накопленный материал по электронной почте разработчикам PHP (адрес можно узнать на сайте http://www.php.net) и, скорее всего, в будущих версиях языка ошибки уже не будет. Однажды со мной случился такой случай, и я был приятно удивлен той скоростью, с которой мне пришел ответ от разработчиков (в течение одного дня). Причем ответ развернутый, а не простая отписка и, главное, в следующей версии PHP, действительно, найденной ошибки уже не оказалось.